<template lang="">
    <div>
        <el-table :data="rolelist" border style="width: 100%">
    <el-table-column prop="id"  label="角色编号" width="100"> </el-table-column>
    <el-table-column prop="rolename" label="角色名称" width="130"></el-table-column>
    <el-table-column label="状态"> 
      <template slot-scope="item">
     <div>
         <el-tag v-if="item.row.status == 1 " type="success">启用</el-tag>
         <el-tag v-else type="danger">禁用</el-tag>
         <!-- {{item.row.status == 1 ? "启用" : "禁用" }} -->
     </div>
   </template>
    </el-table-column>
      <el-table-column  label="操作">
        <template slot-scope="item">
            <div>
           <el-button type="primary"  size="mini"  @click="edit(item.row.id)" >编辑</el-button>
           <el-button type="danger" size="mini" @click="del(item.row.id)" >删除</el-button>
            </div>
        </template>
      </el-table-column>
  </el-table>
    </div>
</template>
<script>
import { mapActions, mapGetters } from 'vuex'
import {roleDel} from '../../request/api'
export default {
    computed: {
        ...mapGetters({
            rolelist: "role/getRoleList"
        })
    },
    data() {
        return {
        }
    },
    mounted() {
        // 触发列表行动调用
        this.getRole()
    },
    methods: {
        ...mapActions({
            getRole: "role/changeRoleAction"
        }),
        // 编辑事件
        edit(id) {
            this.$emit('edit',id)
        },
        // 删除事件
        del(id) {
            this.$confirm('你确定要删除这条数据吗?', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(() => {
              roleDel({
                id
              }).then((res)=>{
                if(res.code==200){
                    this.$message.success(res.msg);
                    this.getRole();
                }else{
                    this.$message.error(res.msg)
                }
              })
            }).catch(() => {
                this.$message({
                    type: 'info',
                    message: '已取消删除'
                });
            });
        }
    },
}

</script>
<style lang="">
    
</style>